import torch
import torch.nn as nn

# 生成随机预测值
# 1、torch.randn() 函数的主要功能是生成一个包含随机数的张量，
#    这些随机数是从标准正态分布（均值为 0，标准差为 1）中采样得到的。
# 2、requires_grad=True：这是一个布尔类型的参数，用于指定是否需要对该张量进行自动求导。
#    当 requires_grad 设置为 True 时，PyTorch 会跟踪该张量上进行的所有操作，并构建一个计算图。
#    在后续的反向传播过程中，就可以根据这个计算图自动计算该张量相对于某个损失函数的梯度。
input = torch.randn(3, requires_grad=True)
# 生成随机真实标签，生成 3个值，值的范围是 0或 1（即小于 2）
target = torch.empty(3).random_(2)

# 定义 BCEWithLogitsLoss 损失函数，使用默认参数
criterion = nn.BCEWithLogitsLoss()

# 计算损失
loss = criterion(input, target)

print("预测值:", input)
print("真实标签:", target)
print("损失值:", loss.item())

